package com.woniu.atms.service;


import com.woniu.atms.entity.G5CarSeat;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDate;
import java.util.Date;
import java.util.List;

/**
 * (G5CarSeat)表服务接口
 *
 * @author makejava
 * @since 2022-01-18 10:46:06
 */
public interface CarSeatService {

    /**
     * 添加座位信息
     * @param seat
     * @return
     */
    boolean add(G5CarSeat seat);


    /**
     * 批量添加座位信息（MyBatis原生foreach方法）
     *
     * @param entities List<G5CarSeat> 实例对象列表
     * @return 影响行数
     */
    int addList(@Param("entities") List<G5CarSeat> entities);

    boolean addListByCarId(Integer carId);

    /**
     * 通过ID查询座位
     *
     * @param id 主键
     * @return 实例对象
     */
    G5CarSeat queryById(Integer id);

    /**
     * 根据车辆id查询出座位列表
     * @param carId
     * @return
     */
    List<G5CarSeat> seatList(Integer carId);

    /**
     * 修改座位信息
     * @param seat
     * @return
     */
    boolean update(G5CarSeat seat);

    /**
     * 查询某日期，某班次所被使用的座位id
     * @param scheduleId
     * @param date
     * @return
     */
    List<Integer> queryUseSeatIdByDateAndSId(Integer scheduleId, LocalDate date);


}
